package com.yqg.protection.service;

import com.github.yulichang.base.MPJBaseService;
import com.yqg.protection.controller.dto.UserDTO;
import com.yqg.protection.controller.dto.UserPasswordDTO;
import com.yqg.protection.entity.User;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.Collection;
import java.util.Date;
import java.util.List;

/**
 * IUserService 服务类
 * @author zxf
 * @since 2024-01-01
 */
public interface IUserService extends MPJBaseService<User> {

    UserDTO login(UserDTO userDTO);

    User register(UserDTO userDTO);

    void updatePassword(UserPasswordDTO userPasswordDTO);

    int resetPwd(int id, String password, Date date);

    void export(HttpServletResponse response, Integer level, Long organizationId, Long userId, String keyWord, Integer role);

    User getUserById(Long userId);

    List<User> listUsersByIds(Collection<Long> userIds);

    Object importData(MultipartFile file);
}
